home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / comm / tcp / Clarissa_HTTPd.lha / Clarissa-HTTPd / HTML / cgi-bin / multiform.cgi < prev   
Encoding:
Text File  |  2000-10-23  |  1.8 KB  |  74 lines

  1. /* #! sys:rexxc/rx **/
  2. /* $VER: multiform.cgi 1.0 (20.09.00) */
  3. /* CGI-Script für clarissahttpd */
  4. /* © Martin Kayser */
  5.  
  6. verz='clarissa-httpd:web-nachrichten'
  7. basename='webnachricht'
  8.  
  9. anzeigen='ja'
  10. vorlesen='Ja'
  11.  
  12. /** Hauptprogramm **/
  13.  
  14. say 'Content-type: text/html'
  15. say ''
  16.  
  17. parse arg args
  18.  
  19. args = translate(args,' ','+')
  20. args = translate(args,d2c(10),'&')
  21. args = hex2str(args)
  22.  
  23. nummer=1
  24. do while exists(verz'/'basename'.'nummer)
  25.  nummer=nummer+1
  26. end
  27.  
  28. if open(n,verz'/'basename'.'nummer,'W') then do
  29.  call writeln(n,args)
  30.  call close(n)
  31.  say '<html><head><title>Formulardaten wurden erfolgreich gespeichert!</title></head><body>'
  32.  say "<h1><hr>Formulardaten wurden erfolgreich gespeichert!<hr></h1>"
  33.  say 'Wahrscheinlich wird der Webmaster ihre Eingaben'
  34.  say 'genau in diesem Moment lesen oder vorgelesen bekommen.'
  35.  say 
  36.  say '</body></html>'
  37.  if upper(anzeigen)='JA'|upper(anzeigen)='YES' then do
  38.    address command 'copy 'verz'/'basename'.'nummer' CON:////Webnachricht/CLOSE/WAIT'
  39.  end
  40.  if upper(vorlesen)='JA'|upper(vorlesen)='YES' then do
  41.    address command 'run <>Nil: c:say -x 'verz'/'basename'.'nummer
  42.  end
  43. end
  44. else do
  45.   say '<html><head><title>Formularfehler</title></head><body>'
  46.   say "<h1><hr>Die Inhalte des Formulars konnten nicht gespeichert werden! :-(<hr></h1>"
  47.   say 'Das Verzeichnis in welchem die Daten gespeichert werden sollten existiert nicht.<BR>'
  48.   say 'Bitte informieren sie den Webmaster, daß er einen Fehler in der Konfiguration'
  49.   say 'des CGI-Scriptes hat. Danke!'
  50. say '</body></html>'
  51. end
  52. exit
  53.  
  54. /**** Prozeduren ****/
  55.  
  56. replace: procedure
  57.   parse arg a,b,c
  58.   d = index(a,b)
  59.   do while d ~= 0
  60.     a = insert(c,delstr(a,d,length(b)),d-1)
  61.     d = index(a,b)
  62.   end
  63. return a
  64.  
  65. hex2str: procedure
  66.   parse arg a
  67.   b = '%'
  68.   d = index(a,b)
  69.   do while d ~= 0
  70.     a = insert(x2c(substr(a,d+1,2)),delstr(a,d,3),d-1)
  71.     d = index(a,b)
  72.   end
  73. return a
  74.